查看原文
其他

如何入门Python的正则表达式

2017-01-06 菜鸟学python 菜鸟学python

这是菜鸟学python的第44篇原创文章


阅读本文大概需要5分钟


讲完了Python的类,接下来我会写几篇文章关于Python里的正则表达式,正则表达式是何方神圣,到底有什么用,学好了对我们了解Python有啥帮助呢,不急这些问题我们一一讲给大家听.


讲这个之前,我想多说一句,纵观IT这个产业,新的技术日新月异,令人目不暇接,特别是上个世纪初90年代有很多新的东西出现,但是称的上伟大的东西却不多,不会超过二十项,我们罗列一下里面重要的:分组交换网络,缓存,Web,Lisp,哈希算法,UNIX,XML,面对对象,关系模型,还有一个就是正则表达式.


要点:

  • 什么是正则表达式

  • 为啥要学正则表达式

  • 如何入门正则表达式

  • 正则表达式长什么样



1.什么是正则表达式

  • 所谓的正则表达式,就是一种描述字符串结构模式的形式化表达方式.正则表达式它简单,优美,功能强大,妙用无穷.


  • 正则表达式主要是用来处理文本,或者准确说是处理对象序列,对于很多实际工作来说,可以成百倍的提高开发效率和程序质量.


  • 有的同学也许会说,正则表达式不是很复杂吗,就正则本身来说,它的规则并不复杂,但是组合起来就复杂了,不然也不会威力无穷啊,所以学的话最好从本质入手,才能真正掌握正则的奥秘.


2.为啥要学正则表达式

1).当今计算机主要是处理文本和数据(至少目前是这样的),特别是在Web兴起之后,开发任务中的有一大堆都是对字符串的处理.


2).对于Python来说,无论是我们后面要学的爬虫技术还是用Python的自然语言处理,还是数据的挖掘,人工智能分析都要和数据打交道,第一步都是对数据的清洗,而数据的清洗就是用正则表达式去处理的.


3).当前几乎所有的主流语言全部支持正则表达式,比如Java,Perl,Python,PHP,Ruby,C++,C#,JS,Tcl都支持正则表达式.特别是Perl(这个语言最大的优势就是对正则表达式的支持),甚至功能稍微强大一些的文本编辑工具也支持.


4).正则表达式最大的好处就是能处理"符合某种抽象模式的"字符串,而不是固定的具体的字符串.一旦熟练掌握,可以节省大量的开发时间和大大的提升效率.(绝对是居家旅行必备啊~~神器啊)


3.如何入门正则表达式

1).学习正则表达式,入门并不难,看一些例子,一开始都是模仿,便可以粗通(就像是熟读唐诗三百首,不会作诗也会吟,一个道理)

2).然后试着在工作中解决一些实际的问题,这样你会有成就感,激发你的学习兴趣

3).但是正则表达式并不是每天都会用到,而其密码般的形象,时间长了很容易忘记,建议要先死记硬背的背住一些规则.


当然要想深入的系统的运用正则表达式,就我多年的经验来看,最好的方法还是要从根本上着手,不要只是模仿,要从本质上去理解正则表达式的内部原理,去规避陷阱,优化设计, 说说也许容易,但是要做到需要大量的反复的推敲和琢磨.


4.总览Python中的正则表达式

Python正则表达式长什么样,来看看它的庐山真面目,Python里面有一个re的模块,re模块是在Py1.5引入的,一开始有regex和regsub,不过这两个模块在Py2.5都被移除了。现在就是re模块.我们先总览一下Python里的正则表达式,我们应该掌握哪些内容:


Re模块里面的6大函数





Python最最常见的字符和符号



不要小看这个6个函数和这10几个字符,组合起来功能非常强大,先不要心急,后面几篇文章会举例子一一详细解释这些函数和字符妙用~~




好了Python中的正则表达式入门就讲到这里啦,希望能给初学者一些启发,若有什么不懂的,也可以留言跟我探讨交流.

最后说一下,原创真的不易,希望大家能够给点支持,欢迎转发转发转发,留言留言留言,重要的事情说三遍,也是对我的一点鼓励和动力.

也欢迎更多喜欢Python的同学关注 菜鸟学python,一起来学python吧 长按下方的二维码即可关注.



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存